From 4cf9ab7af2627b257e43db2cbe00d1d92b01def7 Mon Sep 17 00:00:00 2001 From: robertlipe Date: Wed, 10 Jul 2013 03:03:02 +0000 Subject: [PATCH] Performance improvements in geo reader git-svn-id: http://gpsbabel.googlecode.com/svn/trunk@4416 f51c46e8-681c-474f-0cfe-069cfd0219fb --- gpsbabel/geo.cc | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/gpsbabel/geo.cc b/gpsbabel/geo.cc index 5f15d295b..9b60496b7 100644 --- a/gpsbabel/geo.cc +++ b/gpsbabel/geo.cc @@ -73,44 +73,38 @@ void GeoReadLoc() waypoint* wpt = NULL; while (reader.tokenType() != QXmlStreamReader::EndDocument) { if (reader.tokenType()==QXmlStreamReader::StartElement) { - if (reader.name() == "waypoint") { + QString tag_name = reader.name(); + if (tag_name == "waypoint") { wpt = waypt_new(); waypt_alloc_gc_data(wpt); // There is no 'unknown' alt value and so many reference files have // leaked it that we just paper over that here. wpt->altitude = 0; - } - if (reader.name() == "name") { + } else if (tag_name == "name") { QXmlStreamAttributes a = reader.attributes(); wpt->shortname = ShimString(a.value("id")); wpt->description = ShimString(reader.readElementText()); - } - if (reader.name() == "coord") { + } else if (tag_name == "coord") { QXmlStreamAttributes a = reader.attributes(); wpt->latitude = ShimAttributeDouble(a, "lat"); wpt->longitude = ShimAttributeDouble(a, "lon"); - } - if (reader.name() == "type") { + } else if (tag_name == "type") { wpt->icon_descr = ShimString(reader.readElementText()); - } - if (reader.name() == "link") { + } else if (tag_name == "link") { QXmlStreamAttributes a = reader.attributes(); wpt->url_link_text = a.value("text").toString(); wpt->url = reader.readElementText(); - } - if (reader.name() == "difficulty") { + } else if (tag_name == "difficulty") { wpt->gc_data->diff = reader.readElementText().toInt() * 10; - } - if (reader.name() == "terrain") { + } else if (tag_name == "terrain") { wpt->gc_data->terr = reader.readElementText().toInt() * 10; - } - if (reader.name() == "container") { + } else if (tag_name == "container") { wpt->gc_data->container = wpt_container(reader.readElementText()); } } if (reader.tokenType() == QXmlStreamReader::EndElement) { - if (reader.name() == "waypoint") { + if (tag_name == "waypoint") { waypt_add(wpt); } } -- 2.30.2